package jdk7;

public class BinaryLiterals {
	// java SE 7中, 整数类型(byte, short, int以及long) 也可以使用二进制数系来表示。
	// 要指定一个二进制字面量，可以给二进制数字添加前缀 0b 或者 0B。下面的示例展示了一些二进制字面量：

	// 一个8位的'byte'值:
	byte aByte = (byte) 0b00100001;

	// 一个16位的'short'值:
	short aShort = (short) 0b1010000101000101;

	// 几个32位的'int'值:
	int anInt1 = 0b10100001010001011010000101000101;
	int anInt2 = 0b101;
	int anInt3 = 0B101; // B可以是大写或者小写.

	// 一个64位的'long'值.注意"L"后缀:
	long aLong = 0b1010000101000101101000010100010110100001010001011010000101000101L;
	// 相比于十六进制或者八进制，二进制字面量可以使数据之间的关系更加清晰。比如, 下面数组中的每个后续数字是按位旋转的：

	public static final int[] phases = {
      0b00110001,
      0b01100010,
      0b11000100,
      0b10001001,
      0b00010011,
      0b00100110,
      0b01001100,
      0b10011000
    };
	// 十六进制中, 数字之间的关系并不清晰:

	public static final int[] _phases = {
      0x31, 0x62, 0xC4, 0x89, 0x13, 0x26, 0x4C, 0x98
    };
}
